/****************************************************************
 **版    本: 1.0
 **公    司: Lynkros Technologies (Beijing) Inc.
 **版    权: Lynkros
 **Date: 2021-01-06 16:20:56
 **LastEditTime: 2021-09-14 17:52:47
 **最后修改: Ray
 **描    述: 
 **FilePath: \4_1\Source\System\Env.c
*****************************************************************/
/*
 * Env.c
 *
 *  Created on: 2018年9月5日
 *      Author: ray
 *  这个文件编译后会形成一个env.bin文件，文件中包含了所有初始化参数，
 *  直接修改文件中的数据即可以变更设备的配置信息
 */

#include "stdio.h"
#include "TypeDefine.h"
#include "driver/uart.h"

  /*
这个表是对于COM3端口的设定,针对不同的设备类型,COM3有如下不同的设定
// 波特率,  校验, 数据, 停止, 地址, 控制管脚端口, 控制管脚pin,  ID,  协议类型, 主从选择, 允许, 延时, 超时, 使用App
// ML12/ML04
115200/100, 0,    8,    1,  0xFF,   GPIOC,    GPIO_Pin_5,   COM3, em485,  emSlave,    1,  40, 600,  0xFFFFFFFF,
  // BM42/BM38/BM26
115200/100, 0,    8,    1,  0xFF,   GPIOE,    GPIO_Pin_15,  COM3, em485,  emSlave,    1,  40, 600,  0xFFFFFFFF,
  // BMA8
115200/100, 0,    8,    1,  0xFF,   GPIOC,    GPIO_Pin_5,   COM3, em485,  emSlave,    1,  40, 600,  0xFFFFFFFF,
  // BMD8
115200/100, 0,    8,    1,  0xFF,   GPIOE,    GPIO_Pin_13,  COM3, em485,  emSlave,    1,  40, 600,  0xFFFFFFFF,
  // B3
115200/100, 0,    8,    1,  0xFF,   NULL,     NULL,         COM3, em232,  emSlave,    1,  10, 200,  0x80000030,
  */

/*
各种设备的串口分配
B3
    485_1 COM4
    485_2 COM1
    485_3 COM2
    A20   COM3
    DBG   COM5
D8/A8/26/38/42/L4/L12
    485   COM3
*/
#define Aver 0                 // 平均值
#define SineEffective 0x555555 // 正弦波有效值
#define COIL 0xAAAAAA          // 均方根（线圈）
#define TRMS 0xFFFFFF          // 均方根（霍尔）

char Ver_str[20] = {"V1.1.4"};

const Env_ST Env_st = {
    // 156 字节的系统配置文件
    5,    // boot等待时间，单位s
    0x06, // Dev_TypeSet
    0x00, // Dev_TypeFix

    {'M', 'L', '0', '4', '-', '-', 'L', 'C', 'D', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
    0,    // 运行的设备初始化编号
    UART_NUM_2,    // 主串口
    0x20, // 最大地址
    0,    // 更新标志，标志设置为1的时候，烧写后第一次执行会删除从设备信息
    // 各个串口的配置
    {
        // 波特率,  校验, 数据, 停止, 地址, 控制管脚端口, 控制管脚pin,  ID,  协议类型, 主从选择, 允许, 延时, 超时, 使用App
        {115200 / 100, 0, 8, 1, 0xFF, 0, 0, 0, em485, emMaster, 0, 40, 600, 0x80000485}, // COM0
        {115200 / 100, 0, 8, 1, 0xFF, 0, 0, 1, em485, emMaster, 0, 40, 600, 0x80000485}, // COM1
        {115200 / 100, 0, 8, 1, 0xFF, 0, 0, 2, em485, emSlave, 1, 40, 600, 0xFFFFFFFF},  // COM2
        {115200 / 100, 0, 8, 1, 0xFF, 0, 0, 3, em485, emMaster, 0, 40, 600, 0x80000485}, // COM3
        {115200 / 100, 0, 8, 1, 0xFF, 0, 0, 4, em232, emMaster, 0, 10, 400, 0xFFFFFFFF}  // COM4
    },
    {NULL, 0, 0, 0, 0}, // 5个设备的初始化函数
    // Version
    {12345, 0, 0},
    5,          // Delay time
    TRMS,       // AI计算方法
    0,          // 参考电压，0-3.3V，1-2.5V
    0x00FFFFFF, // DO各通道默认状态，每2bit表示一个通道，00-关闭，01-开启，10-使用记录值，11-不处理
    // AI默认零点值
    {1502, 1508, 1509, 1494, 1501, 1508, 1511, 1511, 1505, 1496, 1507, 1512, 0, 0, 0, 0},
    // 2 868字节的设备配置文件
};
